//
// Created by 11510 on 2024/6/20.
//
#include <iostream>
#include <string>
using namespace std;

template<class T1, class T2>
T1 add(T1 t1, T2 t2) {
    printf("template2\n");
    return t1 + t2;
}
short add(short t2, short t1) {
    printf("template1\n");
    return t1 + t2;
}

void test0() {
    short st1 = 1, st2 = 2;
    /* 这里会调用普通函数 */
    add(st1, st2);

    /**
     * 可以推导出相同的类型
     */
    cout << add<short>(st1, st2) << endl;
}

int main() {
    test0();
    return 0;
}
